home *** CD-ROM | disk | FTP | other *** search
/ Mac Easy 2010 May / Mac Life Ubuntu.iso / casper / filesystem.squashfs / var / lib / python-support / python2.6 / rdflib / Namespace.pyc (.txt) < prev    next >
Encoding:
Python Compiled Bytecode  |  2009-04-20  |  2.8 KB  |  70 lines

  1. # Source Generated with Decompyle++
  2. # File: in.pyc (Python 2.6)
  3.  
  4. from rdflib.URIRef import URIRef
  5. import logging
  6. _logger = logging.getLogger(__name__)
  7.  
  8. class Namespace(URIRef):
  9.     
  10.     def term(self, name):
  11.         return URIRef(self + name)
  12.  
  13.     
  14.     def __getitem__(self, key, default = None):
  15.         return self.term(key)
  16.  
  17.     
  18.     def __getattr__(self, name):
  19.         if name.startswith('__'):
  20.             raise AttributeError
  21.         name.startswith('__')
  22.         return self.term(name)
  23.  
  24.  
  25.  
  26. class NamespaceDict(dict):
  27.     
  28.     def __new__(cls, uri = None, context = None):
  29.         inst = dict.__new__(cls)
  30.         inst.uri = uri
  31.         inst._NamespaceDict__context = context
  32.         return inst
  33.  
  34.     
  35.     def __init__(self, uri, context = None):
  36.         self.uri = uri
  37.         self._NamespaceDict__context = context
  38.  
  39.     
  40.     def term(self, name):
  41.         uri = self.get(name)
  42.         if uri is None:
  43.             uri = URIRef(self.uri + name)
  44.             if self._NamespaceDict__context and (uri, None, None) not in self._NamespaceDict__context:
  45.                 _logger.warning('%s not defined' % uri)
  46.             
  47.             self[name] = uri
  48.         
  49.         return uri
  50.  
  51.     
  52.     def __getattr__(self, name):
  53.         return self.term(name)
  54.  
  55.     
  56.     def __getitem__(self, key, default = None):
  57.         if not self.term(key):
  58.             pass
  59.         return default
  60.  
  61.     
  62.     def __str__(self):
  63.         return self.uri
  64.  
  65.     
  66.     def __repr__(self):
  67.         return "rdflib.NamespaceDict('%s')" % str(self.uri)
  68.  
  69.  
  70.